#pragma once
#include "Xps/Object/IObject.h"

namespace Xps
{
    class ACKMessage;

    class PingMessage :
        public IObject
    {
    public:
        PingMessage(void);

        virtual ObjectType getType() const;

        virtual void serialize( boost::archive::binary_oarchive & ar, const unsigned int version );

        virtual void serialize( boost::archive::binary_iarchive & ar, const unsigned int version );

        template<typename Archive>
        void serialize( Archive & ar);

    private:
        friend class ACKMessage;
        long created_time;
    };

    template<typename Archive>
    void PingMessage::serialize( Archive & ar )
    {
        ar & created_time;
    }
};